#!/bin/bash

# Pre-commit 安装和配置脚本
# 用途：为项目设置本地 pre-commit hooks
# 使用方法：chmod +x setup-precommit.sh && ./setup-precommit.sh

set -e

echo "🔧 开始配置 Pre-commit hooks..."

# 检查是否在 Git 仓库中
if [ ! -d ".git" ]; then
    echo "❌ 错误：当前目录不是 Git 仓库"
    exit 1
fi

# 检查 uv 是否安装
if ! command -v uv &> /dev/null; then
    echo "❌ 错误：未找到 uv 命令，请先安装 uv"
    echo "安装命令：curl -LsSf https://astral.sh/uv/install.sh | sh"
    exit 1
fi

# 安装 pre-commit
echo "📦 安装 pre-commit..."
uv pip install pre-commit

# 安装 pre-commit hooks
echo "🪝 安装 pre-commit hooks..."
pre-commit install

# 运行一次检查
echo "🧪 运行初始检查..."
pre-commit run --all-files || true

echo "✅ Pre-commit 配置完成！"
echo ""
echo "📋 使用说明："
echo "  • 现在每次 git commit 时会自动："
echo "    - 更新 requirements.txt（如果 pyproject.toml 有变更）"
echo "    - 运行代码格式化和质量检查"
echo "  • 手动运行所有检查：pre-commit run --all-files"
echo "  • 跳过检查提交：git commit --no-verify"
echo ""
echo "🎯 下次提交时，requirements.txt 将自动更新！"
